package com.atnjupt.mybatis.mappers;

import com.atnjupt.mybatis.bean.Emp;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Wizarder
 * @create 2022-05-10 12:30
 */
public interface DynamicSqlMapper {
    /**
     * 根据条件查询员工信息-if标签
     * @param emp
     * @return
     */
    List<Emp> getEmpByCondition(Emp emp);

    /**
     * 根据条件查询员工信息-where & if标签
     * @param emp
     * @return
     */
    List<Emp> getEmpByConditionTwo(Emp emp);

    /**
     * 根据条件查询员工信息-trim标签
     * @param emp
     * @return
     */
    List<Emp> getEmpByConditionThree(Emp emp);

    /**
     * 根据条件查询员工信息-choose & when & otherwise标签
     * @param emp
     * @return
     */
    List<Emp> getEmpByConditionChoose(Emp emp);

    /**
     * 插入员工 foreach
     * @param emps
     * @return
     */
    int insertEmpByList(@Param("emps") List<Emp> emps);

    /**
     * 批量删除员工
     * @param eids
     * @return
     */
    int deletEmps(@Param("eids") Integer[] eids);

    /**
     * 查询所有员工-sql片段
     * @return
     */
    List<Emp> getEmps();
}
